BITANDOFFHEX
The BITANDOFFHEX
field specifier (case sensitive) allows you find documents with a field whose hexadecimal string value does not result in 0 when a bit-wise AND
operation is performed between this value and a specified hexadecimal string.
Format
FieldText=BITANDOFFHEX{nn,yourHexadecimalString}:yourBitFields
nn
|
The number of 16 bit chunks to shift the value in yourHexadecimalString and in yourBitFields by before performing the bit-wise AND operation (this option allows you to store sparse bit masks more efficiently). |
yourHexadecimalString
|
A hexadecimal string. A document returns only if one of yourBitFields contains a value that result in a non-zero value when a bit-wise AND operation is performed between this value and the specified hexadecimal string. |
yourBitFields
|
One or more fields. A document returns only if it contains one of these fields, and if this field contains a hexadecimal string that results in a non-zero value when a bit-wise AND operation is performed between it and yourHexadecimalString . Separate multiple fields with colons (: ). There must be no space before or after a colon. |
Example
FieldText=BITANDOFFHEX{01,0a001}:BitOffField
The binary representation of the hexadecimal value 01,0a001
is compared with the binary representations of the hexadecimal values that BitOffField
fields in IDOL Content Component contain. Only documents whose BitOffField
values result in a non-zero value when they are compared to the binary representation of 01,0a001
(after they have been left shifted by one 16 bit chunk) are returned.
If the BitOffField
, for example, contains the value 1,bc01
, the document returns, while a document whose BitOffField
contains the value 0,5ffeffff
does not return.
Field value comparison:
nn,hexstring | Hex | Binary |
---|---|---|
01,0a001
|
A0010000
|
1010 0000 0000 0001 0000 0000 0000 0000
|
1,bc01
|
BC010000
|
1011 1100 0000 0001 0000 0000 0000 0000
|
This evaluates to |
nn,hexstring | Hex | Binary |
---|---|---|
01,0a001
|
A0010000
|
1010 0000 0000 0001 0000 0000 0000 0000
|
0,5ffeffff
|
5FFEFFFF
|
0101 1111 1111 1110 1111 1111 1111 1111
|
This evaluates to |